#ifndef TST_LIGHTPRESETMODELTEST_H
#define TST_LIGHTPRESETMODELTEST_H

#include "qobject.h"

class LightPresetModel;
class LightPresetData;

class LightPresetModelTest : public QObject
{
   Q_OBJECT

public:
   LightPresetModelTest();

public slots:
    void init();
    void cleanup();

private Q_SLOTS:
   /**
    * @brief how to create a @ref LightPresetModel instance
    */
   void creation();
   /**
    * @brief add one preset data to the model
    */
   void addOnePreset();
   /**
    * @brief remove an existing preset data from the model
    */
   void removeOnePreset();
   /**
    * @brief retrieve a QModelIndex for an (existing) preset, by its 'name'
    */
   void getPresetIndex();
   /**
    * @brief try to add a preset with same 'name' of an existing preset
    */
   void addPresetAlreayExisting();
   /**
    * @brief try to remove an unexisting preset data from the model
    */
   void removeUnexistingPreset();
   /**
    * @brief try to retrieve a QModelIndex from an invalid preset 'name'
    */
   void getInvalidPresetIndex();
   /**
    * @brief try to get data from an invalid index of the model
    */
   void retrieveDataFromWrongIndex();


private:
   LightPresetModel *m_model;
   LightPresetData *m_preset1, *m_preset2;
};

#endif // TST_LIGHTPRESETMODELTEST_H
